function _new(fn, ...args) {
  // let _obj = Object.create(fn.prototype);
  let _obj_ = {};
  _obj_.__proto__ = fn.prototype;
  let result = fn.apply(_obj_, args);
  return result instanceof Object ? result : _obj_
}

function Test(age) {
  this.name = 'test';
  this.age = age;
  return [1,2,3]
}

Test.prototype.getName = function() {
  return this.name;
}

var t = _new(Test, 20);
console.log(t.getName())